
package com.jf.cloud.platform.service;

import com.jf.cloud.api.platform.vo.SysUserVO;
import com.jf.cloud.common.database.dto.PageDTO;
import com.jf.cloud.common.database.vo.PageVO;
import com.jf.cloud.platform.dto.SysUserDTO;
import com.jf.cloud.platform.model.SysUser;
import com.jf.cloud.platform.vo.SysUserSimpleVO;

import java.util.List;

/**
 * @author zz
 * @date 2020/12/22
 */
public interface SysUserService {

    /**
     * 根据用户id获取当前登陆的商家用户信息
     * @param userId 用户id
     * @return 商家用户信息
     */
    SysUserSimpleVO getSimpleByUserId(Long userId);

    /**
     * 分页获取平台用户列表
     * @param pageDTO 分页参数
     * @param sysUserDTO 搜索参数
     * @return 平台用户列表
     */
    PageVO<SysUserVO> pageByShopId(PageDTO pageDTO, SysUserDTO sysUserDTO);

    /**
     * 根据用户id获取商家用户信息
     *
     * @param userId 用户id
     * @return 商家用户信息
     */
    SysUserVO getByUserId(Long userId);

    /**
     * 保存平台用户信息
     * @param sysUser 平台用户id
     * @param roleIds 角色id列表
     */
    void save(SysUser sysUser, List<Long> roleIds);

    /**
     * 更新平台用户信息
     * @param sysUser 平台用户id
     * @param roleIds 角色id列表
     */
    void update(SysUser sysUser,List<Long> roleIds);

    /**
     * 根据平台用户id删除平台用户信息
     * @param sysUserId 平台用户id
     */
    void deleteById(Long sysUserId);

    /**
     * 根据用户id列表查名称
     * @param userIds 用户id列表
     * @return
     */
    List<SysUserVO> getUserNameMap(List<Long> userIds);

}
